Tiger Ma
|
Posted - 2007.05.25 11:15:00 -
[1]
I run a database consulting company and basically make my money fixing databases and making them go faster.
You're probably now expecting me to start ranting about MS SQL Server, junior DBAs and OMG where's my compensation for lost training time.
Er, no.
I do have to wonder if a clustered MS SQL Server farm is the best way to go, not out of any dislike of MS SQL Server (does a great job when used appropriately; I know large banks that use it very successfully for systems that with respect are considerably larger and more complex than EVE)... but because of the hardware constraints any MS architecture imposes.
What's the most memory you can put on an Intel box these days, 16Gb? In database land that really isn't very much. And the maximum number of cores, 8 dual cores? Heck, even 8 quad cores doesn't look that impressive next to cheap offerings like a Sun T2000 with 4 processors... each with 32 cores. And you can run Linux on that. But I can't see CCP being willing to walk away from some serious hardware investments to change their fundamental architecture. (Although think about solid state devices for all your tempdbs; it gets you past the 16Gb memory limit without architectural changes.) SAN is good but most benchmarking shows it has worse latency than DAS (even though the overall throughput goes up) - consider local disk on nice 15k rpm SCSI for the things where you just gotta have the answer now.
An obvious win CCP are already discussing in public is separating the web database from the game database. That's really a no-brainer and it will have disproportionally good effects as the main DB won't have to cache web-related data or query plans anymore. I'd suggest a third database (on dedicated hardware) for character info is a simple next step. I'd even wonder how much of the game database could be distributed... the contracts system is pretty self-contained, for example, with nothing outside contracts obviously depending on it.
Anyway, CCP, you have some good talent in your player base. I and many others would be absolutely delighted to volunteer under any reasonable NDA and T&C. If I'm allowed to use you as a reference I'll do it for free. 8-)
Lastly, I've totally been the one who had to bring down a production environment on no notice. I understand why it has to happen. Good call on taking an unpopular step to get the job done. (And let me know if you want a hand query tuning!) |